"""练习 4.1：⽐萨 想出⾄少三种你喜欢的⽐萨，将其名称存储在⼀个列
表中，再使⽤ for 循环将每种⽐萨的名称打印出来。
1修改这个 for 循环，使其打印包含⽐萨名称的句⼦，⽽不仅仅是
⽐萨的名称。对于每种⽐萨都显⽰⼀⾏输出，如下所⽰。
I like pepperoni pizza.
2在程序末尾添加⼀⾏代码（不包含在 for 循环中），指出你有多
喜欢⽐萨。输出应包含针对每种⽐萨的消息，还有⼀个总结性的
句⼦，如下所⽰。
I really love pizza!
代码部分：
pizzas = ['咸蛋黄芝士披萨','猫山王榴莲披萨','经典意式披萨']
for pizza in pizzas:
    print(f"今天三种披萨的其中之一是{pizza}！")
    print(f"I like pepperoni pizza.\n")
print(f"{pizzas[0]}吃起来又沙又香，{pizzas[1]}吃起来特别绵密，{pizzas[2]}绝对的经典永不踩雷。In the last ， I really love pizza!")
"""


"""
练习 4.2：动物 想出⾄少三种有共同特征的动物，将其名称存储在⼀
个列表中，再使⽤ for 循环将每种动物的名称打印出来
1修改这个程序，使其针对每种动物都打印⼀个句⼦，如下所⽰。
A dog would make a great pet.
2在程序末尾添加⼀⾏代码，指出这些动物的共同之处，如打印下
⾯这样的句⼦。
Any of these animals would make a great pet!
代码部分：
dogs = ['Chihuahua','Dachshund ','Corgi']
for dog in dogs:
    print(dog)
    print(f"A dog would make a great pet.\n")
print("Any of these animals would make a great pet!")
"""


"""
练习 4.3：数到 20 使⽤⼀个 for 循环打印数 1〜20（含）。
代码部分：
for number in range(1,21):
    print(number)
"""


"""
练习 4.4：100 万 创建⼀个包含数 1〜1 000 000 的列表，再使⽤⼀个
for 循环将这些数打印出来。（如果输出的时间太⻓，按 Ctrl + C 停⽌
输出，或关闭输出窗⼝。）
代码部分：
numbers = list(range(1,1000001))
for number in numbers:
   print(number)
"""


"""
练习 4.5：100 万求和 创建⼀个包含数 1〜1 000 000 的列表，再使⽤
min() 和 max() 核实该列表确实是从 1 开始、到 1 000 000 结束的。
另外，对这个列表调⽤函数 sum()，看看 Python 将 100 万个数相加需
要多⻓时间。
代码部分：
numbers = list(range(1,1000001))
print(min(numbers))
print(max(numbers))
print(sum(numbers))
"""

"""
练习 4.6：奇数 通过给 range() 函数指定第三个参数来创建⼀个列
表，其中包含 1〜20 的奇数；再使⽤⼀个 for 循环将这些数打印出
来。
odds_numbers = list(range(1,20,2))
for odds_number in odds_numbers:
    print(odds_number)
"""

"""
练习 4.7：3 的倍数 创建⼀个列表，其中包含 3〜30 内能被 3 整除的
数，再使⽤⼀个 for 循环将这个列表中的数打印出来。

"""


"""
练习 4.8：⽴⽅ 将同⼀个数乘三次称为⽴⽅。例如，在 Python 中，2
的⽴⽅⽤ 2**3 表⽰。创建⼀个列表，其中包含前 10 个整数（1〜
10）的⽴⽅，再使⽤⼀个 for 循环将这些⽴⽅数打印出来。
代码部分：
方法一：
squares = list(square**3 for square in range(1,11))
for square in squares:
    print(square)
方法二：
squares = []
for numb in range(1,11):
    square = numb**3
    squares.append(square)
    print(square)
print(squares)

"""

"""
练习 4.9：⽴⽅推导式 使⽤列表推导式⽣成⼀个列表，其中包含前 10
个整数的⽴⽅。
代码部分：
squares = list(square**3 for square in range(1,11))
print(squares)
"""

"""
练习 4.10：切⽚ 选择你在本章编写的⼀个程序，在末尾添加⼏⾏代
码，以完成如下任务。
打印消息“The first three items in the list are:”，再使⽤切⽚来打印列
表的前三个元素。
打印消息“Three items from the middle of the list are:”，再使⽤切⽚
来打印列表中间的三个元素。
打印消息“The last three items in the list are:”，再使⽤切⽚来打印列
表末尾的三个元素。
代码部分：
squares = list(square**3 for square in range(1,11))
for square in squares:
    print(square)
print("The first three items in the list are:")
print(squares[:3])
print("Three items from the middle of the list are")
print(squares[4:7])
print("The last three items in the list are:")
print(squares[7:])
"""

"""
练习 4.11：你的⽐萨，我的⽐萨 在你为练习 4.1 编写的程序中，创建
⽐萨列表的副本，并将其赋给变量 friend_pizzas，再完成如下任
务。
在原来的⽐萨列表中添加⼀种⽐萨。
在列表 friend_pizzas 中添加另⼀种⽐萨。
核实有两个不同的列表。为此，打印消息“My favorite pizzas
are:”，再使⽤⼀个 for 循环来打印第⼀个列表；打印消息“My
friend's favorite pizzas are:”，再使⽤⼀个 for 循环来打印第⼆个列
表。核实新增的⽐萨被添加到了正确的列表中。
代码部分：
My_pizzas = ['咸蛋黄芝士披萨','猫山王榴莲披萨','经典意式披萨']
for pizza in My_pizzas:
    print(f"今天三种披萨的其中之一是{pizza}！")
    print(f"I like pepperoni pizza.\n")
print(f"{My_pizzas[0]}吃起来又沙又香，{My_pizzas[1]}吃起来特别绵密，{My_pizzas[2]}绝对的经典永不踩雷。"
      f"In the last ， I really love pizza!")
friend_pizzas = My_pizzas[:]
My_pizzas.append("至尊披萨")
friend_pizzas.append("水果披萨")
print("My favorite pizzas are:")
for My_pizza in My_pizzas:
    print(My_pizza)
print("My friend favorite pizzas are:")
for friend_pizza in friend_pizzas:
    print(friend_pizza)
print(My_pizzas)
print(friend_pizzas)
"""


"""
练习 4.12：使⽤多个循环 在本节中，为节省篇幅，程序 foods.py 的
每个版本都没有使⽤ for 循环来打印列表。请选择⼀个版本的
foods.py，在其中编写两个 for 循环，将各个⾷品列表都打印出来。
代码部分：
my_foods = ['pizza', 'falafel', 'carrot cake']
friend_foods = my_foods[:]
print("My favorite foods are:")
for my_food in my_foods:
    print(my_food)
print("\nMy friend's favorite foods are:")
for friend_food in friend_foods:
    print(friend_food)
"""

"""
练习 4.13：⾃助餐 有⼀家⾃助式餐馆，只提供 5 种简单的⾷品。请
想出 5 种简单的⾷品，并将其存储在⼀个元组中。
使⽤⼀个 for 循环将该餐馆提供的 5 种⾷品都打印出来。
尝试修改其中的⼀个元素，核实 Python 确实会拒绝你这样做。
餐馆调整菜单，替换了两种⾷品。请编写⼀⾏给元组变量赋值的
代码，并使⽤⼀个 for 循环将新元组的每个元素都打印出来
代码部分：
foods =("番茄炒鸡蛋","红烧牛肉","水煮肉片","葱爆牛肉","锅包肉")
print("以前的菜单是：")
for food in foods:
    print(food)
foods = ("番茄炒鸡蛋","孜然牛肉","水煮肉片","白灼大虾","锅包肉")
print("更新后的菜单是：")
for food in foods:
    print(food)
"""
